package types

import "gin/model"

type GetEffectedTaskReq struct {
	TaskIdList []int64 `json:"task_id_list" binding:"required"`
	ProjectId  int64   `json:"project_id" binding:"required"`
}

type GetEffectedTaskResItem struct {
	Id                  uint64 `json:"id"`
	InitialEpisodeCode  string `json:"initial_episode_code"`
	ShowingsNumber      string `json:"showings_number"`
	EntityName          string `json:"entity_name"`
	EntityCategory      string `json:"entity_category"`
	EntityGrade         string `json:"entity_grade"`
	StepCategoryName    string `json:"step_category_name"`
	StepName            string `json:"step_name"`
	ExecutorCompanyName string `json:"executor_company_name"`
	ExecutorName        string `json:"executor_name"`
	TaskStatus          string `json:"task_status"`
	TaskPlanStartTime   int64  `json:"task_plan_start_time"`
	TaskPlanEndTime     int64  `json:"task_plan_end_time"`
	MergeModuleCode     string `json:"merge_module_code"`
}
type GetEffectedTaskRes []GetEffectedTaskResItem

type GetUpstreamTasksReq struct {
	TaskId uint64 `json:"task_id" binding:"required"`
}
type GetUpstreamTasksResItem struct {
	model.Task
}
type GetUpstreamTasksRes []GetUpstreamTasksResItem

type GetMultiProjectEffectedGroupTaskReq struct {
	TaskIdList []int64 `json:"task_id_list" binding:"required"`
}

type GetMultiProjectEffectedGroupTaskRes struct {
	Count                            int64                                     `json:"count"`
	List []GetMultiProjectEffectedGroupTaskResItem `json:"list"`
}

type GetMultiProjectEffectedGroupTaskResItem struct {
	ModuleCode       string                   `json:"module_code"`
	Count            int64                    `json:"count"`
	EffectedTaskList []GetEffectedTaskResItem `json:"effected_task_list"`
}
